cssshadowvalue: Add a parsing function
authorMatthias Clasen <mclasen@redhat.com>
Sat, 6 Feb 2021 02:36:22 +0000 (21:36 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 6 Feb 2021 21:10:32 +0000 (16:10 -0500)
Add a variant of the parse function that parses
just a single (non-box) shadow, as required for
the drop-shadow filter.

gtk/gtkcssshadowvalue.c

index f4d60c9bcd3fe2d629d00d55922c244fd9580ef2..3afc9592a05ced178ec6136ef7d2889caa7c6da4 100644 (file)
@@ -514,19 +514,14 @@ fail:
 }
 
 GtkCssValue *
-_gtk_css_shadow_value_parse_filter (GtkCssParser *parser)
+gtk_css_shadow_value_parse_filter (GtkCssParser *parser)
 {
-  GtkCssValue *result;
+  ShadowValue shadow;
 
-  result = _gtk_css_shadow_value_parse (parser, FALSE);
-
-  if (result && result->n_shadows != 1)
-    {
-      gtk_css_parser_error_syntax (parser, "A single shadow is required");
-      g_clear_pointer (&result, gtk_css_value_unref);
-    }
-
-  return result;
+  if (gtk_css_shadow_value_parse_one (parser, FALSE, &shadow))
+    return gtk_css_shadow_value_new (&shadow, 1);
+  else
+    return NULL;
 }
 
 void